Copyright: Help file content copyright (C) J. Hlavaty, 1994


The first topic is usually the TABLE OF CONTENTS for the help file

rtfhbann.c

rtfhcp85.c

rtfhdata.c

rtfhhelp.crtfhmain.c

rtfhpars.c

   Please select one of the terms above by single-clicking on it with the left mouse button to view its definition, or go to a topic below by clicking on it.

Margins and spacing

Special Effects

Bitmaps and graphics

WinHelp Terms

RTFHelp Terms


Text formatting in a help file
This is text with a two inch right margin.  This is just done for some contrast with the paragraph below.

this is text with a "hanging" indent, as you'll see the rest (lines after the first) of this paragraph is indented normally.

This paragraph has one/half inch of "glue" (empty space) following.  Notice that the indent of the first and second lines are identical.

This paragraph has no glue following

  This is a paragraph using default paragraph settings


Text formatting in a help file, continued
This is italic text with half-inch left and right margins and this should also appear as Justified Text if the JUST tag is supported by the help compiler.

THIS IS TEXT WITH A ONE INCH LEFT MARGIN IN SMALL CAPS. FLEXIBILITY THAT YOU CAN PUT IN YOUR HELP FILE.  NOTICE HOW SMALLCAPS SEEM TO DRAW YOUR EYES.

This text is displayed in bold type.  Bold is another method of highlighting text (similar to underlining).  Note that underlining is not supported by RTFHelp as the help compiler gives a specific meaning to the RTF underline command in help files.


Bitmaps and graphics
  This is a sample bitmap caption

1 	This is one
2 	This is two


WinHelp Terminology
The document containing the Rich Text Format (hereafter abbreviated RTF) text input to the help compiler will be called the TOPIC FILE.  One or more topic files are used to generate a help file (a binary file with the .HLP extension). Every topic file is made up of a series of "pages" or "screens" of related information known as TOPICS.

Each topic can contain a variety of constructs, such as titles, links and pop-up topics.  A TITLE is not visible in the topic itself, but is used in the Search and other WinHelp dialog boxes to allow the user to distinguish this topic from others in the help file.

 A LINK hooks one topic to another so that when the user clicks on the link's hot spot, the topic that the link references will become the current topic displayed to the user.

Finally, a POP-UP TOPIC when clicked on will create a child window on top of the help  window which contains information for the user.  These pop-up topics are often used for definitions of terms.


RTF Terminology
* note that a ; separates multiple keywords (as multiword keywords are permitted) * you can also have multiple KEYWORDs in the same topicKThe topic file is a collection of RTF tags and raw text.  These tags are known as CONTROL WORDS and all contain a backslash as their first character and consist of entirely lower case letters (RTF is case-sensitive). One such tag is \par to end a paragraph.

There is a small set of non-alphabetic control words known as CONTROL SYMBOLS, such as \~ which signifies a hard (non-breaking) space.

Control words and control symbols together with the text making up the topic file are collected in GROUPS.  A group begins with an open curly brace and continues until an equally-nested closing curly brace.  Any formatting properties that are found within a group apply to all and only elements of that group. Some groups can even inherit specific formatting properties from the group preceding them.  For details on exactly when and how this occurs, refer to the RTF specification listed in the reference section.

RTFHelp uses the tagged file passed in by the user to generate an RTF topic file containing a mixture of control words, control symbols and groups.


   RTFHMain.c is the main module for RTFHelp.  It reads the tagged input file, and writes the formatted RTF text to the output file.


   RTFHCP85.c is the module containing the translation table from CP850 (the so-called Latin 1 code page).  This code page roughly corresponds to those characters needed to display Western European languages.  It converts to the Windows default (ANSI) code page.


   RTFHData.c is the module containing global data.


   RTFHBann.c is the module containing the banner (logo) information that is displayed when using the RTFHelp compiler.


   RTFHHelp is the module that processes RTFHelp's command line arguments.  Named because it also displays help for the user.


   RTFHHelp is the module that contains the RTFHelp parser.